8280. Количество четных делителей

 

Найдите количество четных делителей числа n.

 

Вход. Одно натуральное число n (n ≤ 108).

 

Выход. Выведите количество четных делителей числа n.

 

Пример входа

Пример выхода

6

2

 

 

РЕШЕНИЕ

делители

 

Анализ алгоритма

Поскольку n ≤ 108, то можно перебрать все четные числа от 2 до n / 2 и посчитать сколько их них являются делителями числа n.

Если n четное, то следует учесть что само число n является делителем n.

 

Пример

Число n = 6 имеет два четных делителя: 2 и 6.

 

Реализация алгоритма

Читаем входное число n.

 

scanf("%d", &n);

 

В переменной res подсчитываем количество четных делителей.

 

res = 0;

 

Перебираем все четные числа от 2 до n / 2 и подсчитываем сколько их них являются делителями числа n.

 

for (i = 2; i <= n / 2; i += 2)

  if (n % i == 0) res++;

 

Если n четное, то оно само является делителем n.

 

if (n % 2 == 0) res++;

 

Выводим ответ.

 

printf("%d\n", res);